[INFO] fetching crate wysgy 0.1.4...
[INFO] checking wysgy-0.1.4 against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] extracting crate wysgy 0.1.4 into /workspace/builds/worker-7/source
[INFO] validating manifest of crates.io crate wysgy 0.1.4 on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate wysgy 0.1.4
[INFO] finished tweaking crates.io crate wysgy 0.1.4
[INFO] tweaked toml for crates.io crate wysgy 0.1.4 written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate crates.io crate wysgy 0.1.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sublime_fuzzy v0.6.0
[INFO] [stderr]   Downloaded wysgy_core v0.1.5
[INFO] [stderr]   Downloaded getrandom v0.1.6
[INFO] [stderr]   Downloaded log v0.4.7
[INFO] [stderr]   Downloaded spin v0.5.0
[INFO] [stderr]   Downloaded serde_derive v1.0.94
[INFO] [stderr]   Downloaded enum-map-derive v0.4.1
[INFO] [stderr]   Downloaded backtrace v0.3.31
[INFO] [stderr]   Downloaded serde_yaml v0.8.9
[INFO] [stderr]   Downloaded enum-map-internals v0.1.2
[INFO] [stderr]   Downloaded rand_chacha v0.2.0
[INFO] [stderr]   Downloaded crossbeam-channel v0.3.8
[INFO] [stderr]   Downloaded miniz_oxide v0.2.2
[INFO] [stderr]   Downloaded miniz_oxide_c_api v0.2.2
[INFO] [stderr]   Downloaded syn v0.15.38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d4e9ccddc138f9c9aedf498ad205472bc2c549ade88eda2623939aac700d4fcf
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d4e9ccddc138f9c9aedf498ad205472bc2c549ade88eda2623939aac700d4fcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d4e9ccddc138f9c9aedf498ad205472bc2c549ade88eda2623939aac700d4fcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4e9ccddc138f9c9aedf498ad205472bc2c549ade88eda2623939aac700d4fcf", kill_on_drop: false }`
[INFO] [stdout] d4e9ccddc138f9c9aedf498ad205472bc2c549ade88eda2623939aac700d4fcf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 99c06df5f98d30ea24987aa760b91ce041473f75d6f58277db5b34e72a5b6b1e
[INFO] running `Command { std: "docker" "start" "-a" "99c06df5f98d30ea24987aa760b91ce041473f75d6f58277db5b34e72a5b6b1e", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.4
[INFO] [stderr]    Compiling libc v0.2.58
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking spin v0.5.0
[INFO] [stderr]    Compiling serde v1.0.92
[INFO] [stderr]    Compiling syn v0.15.38
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling cc v1.0.37
[INFO] [stderr]    Compiling ryu v0.2.8
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling log v0.4.7
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking arc-swap v0.3.11
[INFO] [stderr]     Checking linked-hash-map v0.5.2
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]     Checking array-macro v1.0.3
[INFO] [stderr]     Checking dtoa v0.4.4
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking antidote v1.0.0
[INFO] [stderr]     Checking remove_dir_all v0.5.2
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking encode_unicode v0.3.5
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]     Checking xi-unicode v0.1.0
[INFO] [stderr]     Checking maplit v1.0.1
[INFO] [stderr]     Checking unicode-segmentation v1.3.0
[INFO] [stderr]     Checking sublime_fuzzy v0.6.0
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]     Checking unsafe-any v0.4.2
[INFO] [stderr]     Checking enum-map-internals v0.1.2
[INFO] [stderr]     Checking humantime v1.2.0
[INFO] [stderr]     Checking yaml-rust v0.4.3
[INFO] [stderr]     Checking owning_ref v0.4.0
[INFO] [stderr]     Checking crc32fast v1.2.0
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]     Checking crossbeam-utils v0.6.5
[INFO] [stderr]     Checking typemap v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling rand_chacha v0.2.0
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]     Checking crossbeam-channel v0.3.8
[INFO] [stderr]     Checking getrandom v0.1.6
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking signal-hook-registry v1.0.1
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]     Checking term_size v0.3.1
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling miniz-sys v0.1.12
[INFO] [stderr]    Compiling ncurses v5.99.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking term v0.5.2
[INFO] [stderr]     Checking rand_core v0.5.0
[INFO] [stderr]     Checking signal-hook v0.1.9
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]     Checking csv-core v0.1.5
[INFO] [stderr]     Checking rand v0.7.0
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking flate2 v1.0.9
[INFO] [stderr]     Checking chrono v0.4.7
[INFO] [stderr]     Checking num v0.2.0
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking gag v0.1.10
[INFO] [stderr]    Compiling enum-map-derive v0.4.1
[INFO] [stderr]     Checking serde_yaml v0.8.9
[INFO] [stderr]     Checking csv v1.0.7
[INFO] [stderr]     Checking serde-value v0.5.3
[INFO] [stderr]     Checking serde_json v1.0.39
[INFO] [stderr]     Checking toml v0.5.1
[INFO] [stderr]     Checking enum-map v0.5.0
[INFO] [stderr]     Checking prettytable-rs v0.8.0
[INFO] [stderr]    Compiling darling_core v0.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.94
[INFO] [stderr]    Compiling darling_macro v0.9.0
[INFO] [stderr]    Compiling darling v0.9.0
[INFO] [stderr]    Compiling enumset_derive v0.4.0
[INFO] [stderr]     Checking enumset v0.4.0
[INFO] [stderr]     Checking cursive v0.12.0
[INFO] [stderr]     Checking log4rs v0.8.3
[INFO] [stderr]     Checking wysgy_core v0.1.5
[INFO] [stderr]     Checking wysgy v0.1.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/cli.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/cli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Converter`
[INFO] [stdout]   --> src/cli.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use wysgy_core::{self, Converter};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::callbacks::Callbacks`
[INFO] [stdout]  --> src/curses.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::callbacks::Callbacks;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cursive::traits::*`
[INFO] [stdout]  --> src/curses.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use cursive::traits::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cursive::views::TextView`
[INFO] [stdout]  --> src/curses.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cursive::views::TextView;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dialog`, `DummyView`, `EditView`, `LinearLayout`, `SelectView`
[INFO] [stdout]  --> src/curses.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cursive::views::{Dialog, DummyView, EditView, LinearLayout, SelectView};
[INFO] [stdout]   |                      ^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gag::Gag`
[INFO] [stdout]   --> src/curses.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use gag::Gag;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]   --> src/curses.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cmp::max;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]   --> src/curses.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::env::current_dir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sublime_fuzzy::best_match`
[INFO] [stdout]   --> src/curses.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use sublime_fuzzy::best_match;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]   --> src/curses.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use textwrap::fill;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wysgy_core::Node`
[INFO] [stdout]   --> src/curses.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use wysgy_core::Node;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/layouts.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/project.rs:8:64
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn open(s: &String) -> Result<wysgy_core::Project, Box<error::Error>> {
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:14:63
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(s: &String) -> Result<wysgy_core::Project, Box<error::Error>> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:19:54
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn curr() -> Result<wysgy_core::Project, Box<error::Error>> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:30:74
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn nodes(t: Option<String>) -> Result<Vec<wysgy_core::Node>, Box<error::Error>> {
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:35:47
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn types() -> Result<Vec<String>, Box<error::Error>> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:45:58
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn update_node(lbl: &String) -> Result<Node, Box<error::Error>> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/cli.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/cli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Converter`
[INFO] [stdout]   --> src/cli.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use wysgy_core::{self, Converter};
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::callbacks::Callbacks`
[INFO] [stdout]  --> src/curses.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::callbacks::Callbacks;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::panes::Panes`
[INFO] [stdout]  --> src/curses.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::panes::Panes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cursive::traits::*`
[INFO] [stdout]  --> src/curses.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use cursive::traits::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cursive::views::TextView`
[INFO] [stdout]  --> src/curses.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cursive::views::TextView;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dialog`, `DummyView`, `EditView`, `LinearLayout`, `SelectView`
[INFO] [stdout]  --> src/curses.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cursive::views::{Dialog, DummyView, EditView, LinearLayout, SelectView};
[INFO] [stdout]   |                      ^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gag::Gag`
[INFO] [stdout]   --> src/curses.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use gag::Gag;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]   --> src/curses.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::cmp::max;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]   --> src/curses.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::env::current_dir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sublime_fuzzy::best_match`
[INFO] [stdout]   --> src/curses.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use sublime_fuzzy::best_match;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]   --> src/curses.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use textwrap::fill;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wysgy_core::Node`
[INFO] [stdout]   --> src/curses.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use wysgy_core::Node;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/layouts.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/project.rs:8:64
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn open(s: &String) -> Result<wysgy_core::Project, Box<error::Error>> {
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:14:63
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(s: &String) -> Result<wysgy_core::Project, Box<error::Error>> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:19:54
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn curr() -> Result<wysgy_core::Project, Box<error::Error>> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:30:74
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn nodes(t: Option<String>) -> Result<Vec<wysgy_core::Node>, Box<error::Error>> {
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:35:47
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn types() -> Result<Vec<String>, Box<error::Error>> {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/project.rs:45:58
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn update_node(lbl: &String) -> Result<Node, Box<error::Error>> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/curses.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |     siv.add_global_callback('g', |s| {
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/curses.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |         Ok(a) => {}
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/curses.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         Err(a) => panic!("Error creating log file"),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/layouts.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 137 |         fn create_rel(s: &mut Cursive, src_label: &String, dst_label: &String) {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_nodes_view`
[INFO] [stdout]   --> src/layouts.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let all_nodes_view = Dialog::around(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_nodes_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> src/panes.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn show_rels(id: &str, title: &str, label: &str) -> Result<Dialog, Box<dyn error::Error>> {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/panes.rs:63:27
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 .map(|(k, v)| k.to_string().len())
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/panes.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let len = padded_value.len();
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> src/panes.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn show_node(title: &str, label: &str) -> Result<Dialog, Box<dyn error::Error>> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/panes.rs:101:25
[INFO] [stdout]     |
[INFO] [stdout] 101 |             .on_submit(|s, e| {})
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/panes.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |             .on_submit(|s, e| {})
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> src/panes.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn list_nodes(id: String, title: &str) -> Dialog {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/panes.rs:164:56
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         tmp = tmp.into_iter().filter(|(n, s)| s.clone() != 0).collect();
[INFO] [stdout]     |                                                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/curses.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |     siv.add_global_callback('g', |s| {
[INFO] [stdout]    |                                   ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/curses.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |         Ok(a) => {}
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/curses.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         Err(a) => panic!("Error creating log file"),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/layouts.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout] 137 |         fn create_rel(s: &mut Cursive, src_label: &String, dst_label: &String) {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_nodes_view`
[INFO] [stdout]   --> src/layouts.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let all_nodes_view = Dialog::around(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_nodes_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> src/panes.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn show_rels(id: &str, title: &str, label: &str) -> Result<Dialog, Box<dyn error::Error>> {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/panes.rs:63:27
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 .map(|(k, v)| k.to_string().len())
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/panes.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |             let len = padded_value.len();
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> src/panes.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn show_node(title: &str, label: &str) -> Result<Dialog, Box<dyn error::Error>> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/panes.rs:101:25
[INFO] [stdout]     |
[INFO] [stdout] 101 |             .on_submit(|s, e| {})
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/panes.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |             .on_submit(|s, e| {})
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title`
[INFO] [stdout]   --> src/panes.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn list_nodes(id: String, title: &str) -> Dialog {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/panes.rs:164:56
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         tmp = tmp.into_iter().filter(|(n, s)| s.clone() != 0).collect();
[INFO] [stdout]     |                                                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/panes.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut hlayout = LinearLayout::horizontal();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_node`
[INFO] [stdout]   --> src/callbacks.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn get_node(s: &mut Cursive, v: &Node, kview: &str, lview: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `filled_text`
[INFO] [stdout]   --> src/callbacks.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn filled_text(a: &String, b: &String, awidth: usize, bwidth: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `edit_active_node`
[INFO] [stdout]   --> src/callbacks.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn edit_active_node(s: &mut Cursive, n: &Node) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `node_new`
[INFO] [stdout]    --> src/callbacks.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn node_new(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `refresh`
[INFO] [stdout]    --> src/layouts.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn refresh(s: &mut Cursive) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pop_all`
[INFO] [stdout]    --> src/layouts.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn pop_all(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_by_types`
[INFO] [stdout]    --> src/layouts.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn add_by_types(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_all`
[INFO] [stdout]    --> src/layouts.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn add_all(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `list_nodes`
[INFO] [stdout]   --> src/panes.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn list_nodes(id: String, title: &str) -> Dialog {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `types`
[INFO] [stdout]   --> src/project.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn types() -> Result<Vec<String>, Box<error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update_node`
[INFO] [stdout]   --> src/project.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn update_node(lbl: &String) -> Result<Node, Box<error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/curses.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         project::Project::curr().unwrap().export();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/curses.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     log_init();
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/curses.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     log_init();
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/curses.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     log_init();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/curses.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     log_init();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/curses.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     log_init();
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/layouts.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 | ...                   project::Project::curr().unwrap().remove_node(&label);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `id_sview_src` should have an upper case name
[INFO] [stdout]   --> src/layouts.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |         const id_sview_src: &str = "nlist/sview_src";
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `ID_SVIEW_SRC`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `id_sview_dst` should have an upper case name
[INFO] [stdout]   --> src/layouts.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |         const id_sview_dst: &str = "nlist/sview_dst";
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `ID_SVIEW_DST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/layouts.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 | /             project::Project::curr()
[INFO] [stdout] 140 | |                 .unwrap()
[INFO] [stdout] 141 | |                 .add_json_relationship(src_label, dst_label);
[INFO] [stdout]     | |_____________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/layouts.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 | /                     project::Project::curr()
[INFO] [stdout] 154 | |                         .unwrap()
[INFO] [stdout] 155 | |                         .remove_rel(&src_label, &dst_label);
[INFO] [stdout]     | |____________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/panes.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut hlayout = LinearLayout::horizontal();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_node`
[INFO] [stdout]   --> src/callbacks.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn get_node(s: &mut Cursive, v: &Node, kview: &str, lview: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `filled_text`
[INFO] [stdout]   --> src/callbacks.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn filled_text(a: &String, b: &String, awidth: usize, bwidth: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `edit_active_node`
[INFO] [stdout]   --> src/callbacks.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn edit_active_node(s: &mut Cursive, n: &Node) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `node_new`
[INFO] [stdout]    --> src/callbacks.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn node_new(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `refresh`
[INFO] [stdout]    --> src/layouts.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn refresh(s: &mut Cursive) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pop_all`
[INFO] [stdout]    --> src/layouts.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn pop_all(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_by_types`
[INFO] [stdout]    --> src/layouts.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn add_by_types(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_all`
[INFO] [stdout]    --> src/layouts.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn add_all(s: &mut Cursive) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `show_rels`
[INFO] [stdout]   --> src/panes.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn show_rels(id: &str, title: &str, label: &str) -> Result<Dialog, Box<dyn error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `list_nodes`
[INFO] [stdout]   --> src/panes.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn list_nodes(id: String, title: &str) -> Dialog {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `types`
[INFO] [stdout]   --> src/project.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn types() -> Result<Vec<String>, Box<error::Error>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update_node`
[INFO] [stdout]   --> src/project.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn update_node(lbl: &String) -> Result<Node, Box<error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/curses.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         project::Project::curr().unwrap().export();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/layouts.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 | ...                   project::Project::curr().unwrap().remove_node(&label);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `id_sview_src` should have an upper case name
[INFO] [stdout]   --> src/layouts.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |         const id_sview_src: &str = "nlist/sview_src";
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `ID_SVIEW_SRC`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `id_sview_dst` should have an upper case name
[INFO] [stdout]   --> src/layouts.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |         const id_sview_dst: &str = "nlist/sview_dst";
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `ID_SVIEW_DST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/layouts.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 | /             project::Project::curr()
[INFO] [stdout] 140 | |                 .unwrap()
[INFO] [stdout] 141 | |                 .add_json_relationship(src_label, dst_label);
[INFO] [stdout]     | |_____________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/layouts.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 | /                     project::Project::curr()
[INFO] [stdout] 154 | |                         .unwrap()
[INFO] [stdout] 155 | |                         .remove_rel(&src_label, &dst_label);
[INFO] [stdout]     | |____________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 53 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "99c06df5f98d30ea24987aa760b91ce041473f75d6f58277db5b34e72a5b6b1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "99c06df5f98d30ea24987aa760b91ce041473f75d6f58277db5b34e72a5b6b1e", kill_on_drop: false }`
[INFO] [stdout] 99c06df5f98d30ea24987aa760b91ce041473f75d6f58277db5b34e72a5b6b1e
